//Product.h 
 
#ifndef _PRODUCT_H_ 
#define _PRODUCT_H_ 
 
class AbstratcProductA 
{ 
public: 
	virtual ~AbstratcProductA(){}; 
  
protected: 
	AbstratcProductA(){}; 
 
private: 
 
}; 

class AbstratcProductB
{ 
public: 
	virtual ~AbstratcProductB(){}; 
  
protected: 
	AbstratcProductB(){}; 
 
private: 
 
}; 
 
class ProductA1:public AbstratcProductA 
{ 
public: 
	~ProductA1(); 
 
	ProductA1(); 
  
protected: 
 
private: 
 
}; 

class ProductA2:public AbstratcProductA 
{ 
public: 
	~ProductA2(); 
 
	ProductA2(); 
  
protected: 
 
private: 
 
}; 
 
class ProductB1:public AbstratcProductB
{ 
public: 
	~ProductB1(); 
 
	ProductB1(); 
  
protected: 
 
private: 
 
}; 

class ProductB2:public AbstratcProductB
{ 
public: 
	~ProductB2(); 
 
	ProductB2(); 
  
protected: 
 
private: 
 
}; 

#endif //~_PRODUCT_H_ 